package top.yangbuyi.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Param;
import top.yangbuyi.domain.Role;

import java.util.List;

/**
 * ClassName: Loginfo
 * Description: 杨不易网站 :www.yangbuyi.top
 * date: 2020/9/7
 *
 * @author TeouBle
 * @author yangbuyi
 * @since JDK 1.8
 **/

public interface RoleMapper extends BaseMapper<Role> {

	  /**
	   * 根据角色id删除sys_role_menu表数据
	   *
	   * @param idList
	   */
	  void deleteRoleIdByMenu(@Param("idList") List<Long> idList);

	  /**
	   * 根据角色id删除sys_role_user表数据
	   *
	   * @param idList
	   */
	  void deleteRoleIdByUser(@Param("idList") List<Long> idList);

	  /**
	   * @功能描述:保存角色和菜单关系
	   * @Description:
	   * @Author: TeouBle
	   * @Date: 2020/9/7 21:31
	   */
	  void saveRoleMenu(@Param("roleId") Long roleId, @Param("menuId") Long menuId);
	  /**
	   * 根据用户IDS删除sys_role_user里面的数据
	   *
	   * @param ids
	   */
	  void deleteRoleUserByUserIds(@Param("ids") List<Long> ids);

	  /**
	   * 根据菜单权限ID删除sys_role_menu
	   */
	  void deleteRoleMenuByMenuIds(@Param("ids") List<Long> ids);
	  /**
	   * 根据用户ID查询用户拥有的角色IDS
	   *
	   * @param userId
	   * @return
	   */
	  List<Long> selectRoleIdsByUserId(@Param("userId") Long userId);

	  /**
	   * 保存角色和用户的关系
	   *
	   * @param userId
	   * @param roleId
	   */
	  void saveRoleUser(@Param("userId") Long userId, @Param("roleId") Long roleId);

}